Desktop computers have been running application programs for decades. With the introduction of the Internet, web browsers were developed to view web pages. Initially, the task of a browser was just to render static web pages in a visual form. Over time browsers have expanded their capabilities to include dynamic web pages and web applications. Web applications run in a browser, and execute code such as code written in the JAVASCRIPT scripting language.
At the same time that browsers have expanded their functionality, the hardware platforms that can run browsers have also expanded. Currently, users can run web applications in browsers on small mobile devices, such as the IPHONE mobile phone or devices running the Android operating system.
However, web applications running in browsers on mobile client devices are more prone to crash than web applications running on desktop computers, creating a less satisfactory user experience. There are many different browsers and operating systems running on many different mobile devices, and they have not undergone the same extensive user testing of browsers and operating systems that has occurred for desktop computers.
Developers of web applications for mobile devices must therefore address the application crashes and other abnormal events, and have the added difficulty of determining whether the bad events were due to the web application, the browser, the operating system, the physical device, or a combination of these.
Accordingly, there is a need for a method to track abnormal events that occur in web applications on mobile client devices, including sufficient information so that the abnormal events can be associated with identifiable characteristics of the mobile devices.